Перейти к основному содержимому

Как подключить obsidian и сделать git на ПК или телефоне:

![[Pasted image 20250127114856.png]]

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

  • Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)

  • Бесплатно

  • Бонусом — резервная копия: как самих заметок, так и истории изменений.

В результате получается полноценная замена Notion: структурированные заметки с автоматической синхронизацией между устройствами.

Краткое решение

[!NOTE]

  • Приватный репозиторий GitHub,

  • Синхронизация по https + "Personal access token"

  • Для десктопа: плагин Git

  • Для мобильных: плагин Fit

  • Автосинхронизация: при старте (Git), раз в минуту, без уведомлений.

  • исключить папку .obsidian через .gitignore

Предыстория: Notion всё

Сейчас Notion в РФ работает только для бесплатных аккаунтов и только через прокси/VPN. Платные аккаунты забанили. Если зайти из бесплатного аккаунта и забыть включить прокси — выкинет из Notion, неудобно.

Но главное неудобство — Notion владеет моими заметками и может удалить их в любой момент. С Obsidian иначе: все заметки — это локальная папка с текстовыми файлами (их можно открыть множеством приложений).

Вопрос лишь в прозрачной синхронизации … и он решён в этой статье.

Предыстория: личный опыт

Несколько лет назад я загорелся идеей создать личную картотеку "zettelkasten". У меня эта методология не прижилась, но в результате я познакомился с приложением Obsidian, начал вести там свои заметки, и год назад полностью ушёл туда с Notion.

Мой главный аргумент — я владею своими заметками, а не корпорация. Заметки хранятся в папке с текстовыми файлами. Они не пропадут, если кто-то так решит.

Про сам Obsidian на Хабре уже писали, например:

Но для меня Obsidian не был заменой Notion, пока я не научился синхронизировать его на всех устройствах без сторонних костылей программ.

Ниже - пошаговый алгоритм, с которым всё точно работает.

Шаг 0: Установить Obsidian на все свои устройства

На случай если его у вас ещё нет, вот ссылка:

Шаг 1: Создать приватный репозиторий Github

  1. Залогиниться на github

  2. По ссылке https://github.com/new указать:

    • имя репозитория

    • выбрать: приватный

    • выбрать: файл README (т.к. репозиторий не д.б. пустым)

  3. создать репозиторий (зеленая кнопка внизу)

  4. в корне репозитория создать файл .gitignore с текстом .obsidian ![[Pasted image 20250127114930.png]]![[Pasted image 20250127114943.png]]

Комментарий: файл .gitignore нужен, чтобы не синхронизировать папку .obsidian, в которой находятся локальные настройки (конфликтуют на разных устройствах при синхронизации). Если этого не сделать — вся схема перестанет работать.

Шаг 2: Создать токен доступа

  1. По ссылке https://github.com/settings/tokens/new указать:

    • имя токена

    • выбрать: No Expiration (значит токен не устареет)

    • выбрать repo

  2. создать токен (зеленая кнопка)

  3. сохранить созданный токен

    • GitHub покажет токен вида ghp_1wKdGc4IhVCHxXEaKClMNp1rEMwsHu1f5zNZ только один раз, его нужно скопировать и сохранить. Если потеряется - придётся создавать новый. ![[Pasted image 20250127115008.png]]

Только для "параноиков"

[!NOTE] Созданный токен даёт доступ ко всем личным "репозиториям" на гитхабе. Если у вас уже есть репозитории на гитхабе и вам некомфортно с таким токеном, то есть два решения:

  1. Создать "продвинутый" токен:

    • токену выдать права на конкретный репозиторий "Repository permissions - Contents: Read and Write"

    • указать срок жизни токена 1 год (это максимум, через год придётся обновлять, неудобно)

  2. Более простой вариант: создать отдельный github-аккаунт для обсидиана и использовать "классический" токен.

Шаг 3: Синхронизация с десктопом (Windows, Linux, Mac)

Приведу пример для Windows.

3а: клонировать репозиторий

  1. Убедиться, что git установлен в системе

    • В консоли набрать git --version и увидеть версию.

    • Если вылезла ошибка:

      • Установить гит: https://git-scm.com/downloads

      • Выполнить первоначальную настройку гит-а: в командной строке указать свои "email" и "имя" (любые), которыми будут подписываться ваши файлы в гите (у вас приватный репозиторий, значит их никто не увидит)

        git config --global user.email МОЙ-EMAILgit config --global user.name МОЁ-ИМЯ

        Гит выполняет все операции "от имени" юзера, определённого этими двумя командами. Пока он не имеет этих данных, функционал гит-а недоступен.

  2. Создать папку, в которой будут храниться «Vaults/Хранилище» Obsidian (Vault — это аналог Workspace в Notion). Например: C:/OBSIDIAN (win) или ~/OBSIDIAN(linux).

  3. Собрать https-ссылку, по которой будет синхронизироваться github

    • Формат ссылки: https://<PERSONAL_ACCESS_TOKEN>@github.com/<USERNAME>/<REPO>.git,

    • Например: https://ghp_1wKdGc4IhVCHxXEaKClMNp1rEMwsHu1f5zNZ@github.com/myaccount/my-obsidian-vault.git

  4. Запустить консоль (cmd.exe в windows)

    • в консоли перейти в папку OBSIDIAN (cd /OBSIDIAN) и оттуда выполнить команду с собранной ссылкой git clone https://<PERSONAL_ACCESS_TOKEN>@github.com/<USERNAME>/<REPO>.git

В результате появится папка OBSIDIAN/my-obsidian-vault, а в ней файлы из GitHub (README.md и .gitignore, а также папка .git с настройками гитхаба)

3b: создать Хранилище/Vault в Obsidian на основе скаченной папки

![[Pasted image 20250127115220.png]]

  1. Из программы Obsidian: открыть синхронизированную папку my-obsidian-vault как хранилище

  2. Теперь можно заполнить "хранилище" заметками и файлами, или просто отредактировать README.md

Если у вас уже есть заметки в Obsidian, то алгоритм будет тот же:

  • сначала создать и синхронизировать пустой репозиторий с github

  • затем скопировать туда все файлы из старого хранилища

3с: Настроить синхронизацию через obsidian-плагин 'Git'

![[Pasted image 20250127115239.png]]

UPDATE: в новых версиях плагина Obsidian-git, термин "Backup" (на скриншотах далее) уже заменили на термин на "Commit-and-sync"

  1. В настройках Обсидиана, в разделе "Community plugins" найти и установить плагин 'git'

  2. Далее, в настройках самого плагина git, установить:

    • Vault Backup Interval (minutes): 1

    • Auto Backup after stopping file edits: ВКЛ

  3. Pull updates on startup: ВКЛ

  4. Disable notifications: ВКЛ (можно не включать, но тогда каждую минуту будут появляться уведомления)

![[Pasted image 20250127115704.png]] ![[Pasted image 20250127115739.png]] ![[Pasted image 20250127115801.png]]

Теперь все заметки из этого хранилища, каждую минуту после завершения редактирования, будут загружаться в Github. Также, при запуске Obsidian, последняя версия заметок сразу подгрузится с GitHub.

Если не хочется ждать минуту, то принудительно загрузить изменения на GitHub можно через Obsidian-команду "Git: Create backup": CTRL+Pgit b. Также (в настройках Obsidian) можно создать горячую клавишу для этой команды (например, ALT+S)